/* $Id: ClientRoleReqDAO.java 
 * Copyright (C) 2011, TRAKHEES
 *  
 * Revision History
 *
 * Date  			Author 		    	Remarks
 * ---------------------------------------------------------------------------------
 *
 */
package ae.pcfc.etks.online.common.dao;

import java.util.List;

import ae.pcfc.etks.online.common.domain.ClientRoleReq;

public interface ClientRoleReqDAO {
	
	/**
	 * add
	 * Method to add a Client Role Request in the DB
	 * @param clientRoleReq
	 * void
	 */
	public void add(ClientRoleReq clientRoleReq);
	
	/**
	 * findClientRoleReqByApplicationId
	 * Method to find the Client Role Requests associated to an application id
	 * @param applicationId
	 * @return
	 * List<ClientRoleReq>
	 */
	public List<ClientRoleReq> findClientRoleReqByApplicationId(String applicationId);
	
	/**
	 * findClientRoleReqByClientAndRoleId
	 * Method to find the Client Role Reqs based on Client ID and role Id
	 * @param clientId Long
	 * @param roleId Long
	 * @return
	 * ClientRoleReq
	 */
	public ClientRoleReq findClientRoleReqByClientAndRoleId(Long clientId, Long roleId);
	
	/**
	 * findClientRoleReqByTrakheesId
	 * Method to find the List of Client Role Requests associated with a client's trakhees ID
	 * @param trakheesId
	 * @return
	 * List<ClientRoleReq>
	 */
	public List<ClientRoleReq> findClientRoleReqByTrakheesId(String trakheesId);
}
